package com.hd.sup.modules.enterprise.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hd.sup.core.rest.dto.TData;
import com.hd.sup.modules.enterprise.model.Enterprise;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author chentl123
 * @since 2020-12-28
 */
public interface IEnterpriseService extends IService<Enterprise> {

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 企业列表分页查询
     * @date 2020/12/31 3:08 下午
     * @params [page, enterprise]
     */
    List<Map<String, Object>> pageList(Page page, Enterprise enterprise);

    /**
     * @return java.lang.Integer
     * @author chentl
     * @description 统计指定区域下 所有企业总数
     * @date 2021/1/5 6:21 下午
     * @params [regionCode, deptIds]
     */
    Integer countEnterpriseNum(String regionCode, List<String> deptIds);

    /**
     * @return void
     * @author chentl
     * @description 生成企业静态数据
     * @date 2021/1/14 9:32 上午
     * @params [data]
     */
    void generateEnterprise(TData data);

    /**
     * @return void
     * @author chentl
     * @description 缓存车企静态信息
     * @date 2021/3/11 10:24 上午
     * @params []
     */
    void cacheStaticData();

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 获取所有MAP结合，驼峰字段
     * @date 2021/3/11 4:16 下午
     * @params []
     */
    List<Map<String, Object>> selectAllMaps();

    /**
     * @return void
     * @author chentl
     * @description 根据ids批量删除
     * @date 2021/3/11 10:42 上午
     * @params [ids]
     */
    void deleteByIds(List<String> ids);

}
